Automated surfacing of tagged content adjunct to vertical applications

ABSTRACT

Embodiments of the present invention address deficiencies of the art in respect to social bookmarking and provide a method, system and computer program product for automated surfacing of tagged content adjunct to a vertical application. In an embodiment of the invention, a method for automatically surfacing tagged content in a vertical application can be provided. The method can include receiving and parsing text from content in an end user application, comparing the parsed text to social bookmarks and associated metadata from a social bookmarking system and matching portions of the content to respective ones of the social bookmarks and associated metadata based upon the comparison, and directing a visual emphasis of the matched portions of the content in the end user application, whereby the end user application is unmodified to perform the receiving, comparing and directing steps.

REFERENCE TO CO-PENDING APPLICATIONS FOR PATENT

The present application is related to the following co-assigned U.S.patent applications, which are expressly incorporated by referenceherein:

U.S. application Ser. No. ______, entitled “AUTOMATED SURFACING OFTAGGED CONTENT IN VERTICAL APPLICATIONS” (docket no. RSW920070214US1(327U1)), filed on January ______, 2008.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the field of bookmarking content andmore particularly to social bookmarking.

2. Description of the Related Art

Content browsing refers to the retrieval and presentation of electroniccontent in a browser client. Content generally can include electronicdocuments, messages, audio, audiovisual and video materials and imagery.Most commonly, content can be stored in a server environment andpublished for access by content consumers over a computer communicationsnetwork such as the global Internet. Content consumers, in turn, canretrieve content over the network by reference to a network address forthe content. Once retrieved, the content can be presented in a browserclient including not only conventional visual browsers such as thevenerable Web browser, but also in alternative browsers such as thosedeployed in pervasive devices and those supporting different modes ofpresentation such as the audible presentation of material.

Given the vast amount of content published for accessibility over theInternet, modern content browsers provide a mechanism for ablyretrieving previously accessed content. Known as a “bookmark” or“favorite” (collectively referred to as a bookmark), end users canrecord content of interest as a bookmark. Subsequently, end users canaccess a list of bookmarks in order to recall the content of interestwithout being compelled to recall from memory the precise uniformresource indicator (URI) for the content of interest.

While bookmarking reflects the personal experience of individual users,social bookmarking provides a foundation for users within a social groupto store, organize, share and search the bookmarks collectivelyestablished by the users within the social group. In operation, a socialbookmarking system, users save links to memorable content. Unliketraditional bookmarks however, in a social bookmarking system the linkssubsequently can be published for public inspection and use so as toprovide a communal repository of bookmarks. Consequently, groups of theusers can access the links encapsulated within respective socialbookmarks, though the groups of users in fact may never have viewed theassociated content—a prerequisite for a traditional bookmark.

Social bookmarking services often encourage users in a social network toannotate bookmarks with meta-information rather than merely storingbookmarks in a traditional file hierarchy. As such, users processingannotations for a social bookmark can view the social bookmark forcontent along with meta-information pertaining to the bookmark, forinstance a number of users having bookmarked the content. Further, somesocial bookmarking services infer clusters of bookmarks from therelationship of corresponding annotations. Finally, many socialbookmarking services provide subscription based feeds for lists ofbookmarks, including lists organized by annotations. Consequently,subscribers can become aware of new bookmarks as the bookmarks aresaved, shared, and annotated by other users.

Social bookmarking systems often follow an “inward” bookmarkingmetaphor. The inward bookmarking metaphor provides for the tagging ofcontent in a browser and the storage of the bookmark (and subsequentaccess of the bookmark) from a central location. Therefore, in theinward bookmarking metaphor, users leave an active application tointeract with a different application in order determine topical orinteresting knowledge provided by social bookmarks. The “outward”bookmarking metaphor recognizes the clumsiness of the inward bookmarkingmetaphor and provides several tools for propogating social bookmarkingknowledge into the active application. Examples include tag cloudsenabled to bring users to a central bookmarking system or to drawinformation from a central bookmarking system from within an activeapplication.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention address deficiencies of the art inrespect to social bookmarking and provide a novel and non-obviousmethod, system and computer program product for automated surfacing oftagged content adjunct to a vertical application. In an embodiment ofthe invention, a method for automatically surfacing tagged contentadjunct to a vertical application can be provided. The method caninclude receiving and parsing text from content in an end userapplication, comparing the parsed text to social bookmarks andassociated metadata from a social bookmarking system and matchingportions of the content to respective ones of the social bookmarks andassociated metadata based upon the comparison, and directing a visualemphasis of the matched portions of the content in the end userapplication, whereby the end user application is unmodified to performthe receiving, comparing and directing steps.

In one aspect of the embodiment, comparing the parsed text to socialbookmarks and associated metadata from a social bookmarking system andmatching portions of the content to respective ones of the socialbookmarks and associated metadata based upon the comparison further caninclude restricting the parsed text to a limited vocabulary whencomparing the parsed text to the social bookmarks. In another aspect ofthe embodiment, the method further can include directing the toggling ofthe visual emphasis of the matched portions of the content in the enduser application. In yet another aspect of the embodiment, the methodfurther can include directing an appendage of a source indicator for thevisually emphasized matched portions of the content.

In another embodiment of the invention, a social bookmarking dataprocessing system can be provided. The system can include auto-surfacinglogic coupled to but separately executing from an end user applicationexecuting in an end user computing device, and also a social bookmarkingsystem executing in a host server and managing a set of bookmarks. Thelogic can include program code enabled to receive the content from thedisplay, to parse the content into text for comparing to the socialbookmarks, to match portions of the content to respective ones of thesocial bookmarks and associated metadata based upon the comparison, andto direct a visual emphasis of the matched portions of the content inthe end user application, whereby the end user application is unmodifiedby the logic.

In one aspect of the embodiment, the auto-surfacing logic subclasses adisplay event in the end user application. In another aspect of theembodiment, the auto-surfacing logic is a helper application coupled tothe end user application. In yet another aspect of the embodiment, theauto-surfacing logic resides in the end user computing device. Finally,in even yet another aspect of the embodiment, the auto-surfacing logicresides in the host server and has a hook into the end user application.

Additional aspects of the invention will be set forth in part in thedescription which follows, and in part will be obvious from thedescription, or may be learned by practice of the invention. The aspectsof the invention will be realized and attained by means of the elementsand combinations particularly pointed out in the appended claims. It isto be understood that both the foregoing general description and thefollowing detailed description are exemplary and explanatory only andare not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute partof this specification, illustrate embodiments of the invention andtogether with the description, serve to explain the principles of theinvention. The embodiments illustrated herein are presently preferred,it being understood, however, that the invention is not limited to theprecise arrangements and instrumentalities shown, wherein:

FIG. 1 is a pictorial illustration of a process for the automatedsurfacing of tagged content in a vertical application;

FIG. 2 is a schematic illustration of a social bookmarking dataprocessing system configured for automated surfacing of tagged contentin a vertical application; and,

FIG. 3 is a flow chart illustrating a process for automated surfacing oftagged content in a vertical application.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide a method, system andcomputer program product for the automated surfacing of tagged contentin a vertical application. In accordance with an embodiment of thepresent invention, content in an end user application can be comparedwith established social bookmarks and associated metadata in a socialbookmarking system. Portions of the content known to be associated withone or more of the established social bookmarks and associated metadatacan be identified and visually distinguished within the end userapplication. In this way, the content of the end user application can beintegrated with the social bookmarking system without requiring the enduser to refer separately to the social bookmarking system. Notably, theact of comparing the content to the established social bookmarks andassociated metadata, and the identification of content associated withthe social bookmarks and associated metadata can be performed adjunct toand separate from the end user application so that the end userapplication need not be modified.

In illustration, FIG. 1 pictorially depicts a process for the automatedsurfacing of tagged content in a vertical application. As shown in FIG.1, an end user application 110 can provide a display of content 120. Theend user application 110 can be communicatively coupled to a socialbookmarking system 140 through a helper application 130. The helperapplication 130 can pull the content 120 from the end user applicationand pass the same to the social bookmarking system 140 for comparisonwith one or more established social bookmarks and associated metadata.Thereafter, portions 150 of the content 120 associated with establishedsocial bookmarks and associated metadata in the social bookmarkingsystem 140 can be provided visual emphasis 160 in the end userapplication 110.

The process of FIG. 1 can be performed within a social bookmarking dataprocessing system. In illustration, FIG. 2 schematically depicts asocial bookmarking data processing system configured for automatedsurfacing of tagged content in a vertical application. The system caninclude a host server 210A configured for communicative coupling to oneor more clients 230 over computer communications network 220. The hostserver 210A can support the operation of a social bookmarking system 240managing one or more social bookmarks and associated metadata 250 onbehalf of the clients 230.

Each of the clients 230 can include an operating environment 260, forexample a virtual machine or operating system. The operating environment260 further can support the operation of one or more end userapplications 270, for example a word processor, spreadsheet, databaseapplication, Web browser and the like. Notably, only a single end userapplication 270 is shown in FIG. 1 for the purpose of illustrativesimplicity. In accordance with an embodiment of the invention,auto-surfacing logic 280 can be coupled to or incorporated as part ofthe end-user application 270. For instance, the auto-surfacing logic 280can be provided as a helper application, or the auto-surfacing logic 280can be a sub-class of the event loop for each of the end userapplications 270 selected from a list of active applications, trappingand modifying a display event.

The auto-surfacing logic 280 can include program code enabled to detectan attempt to display content in the end-user application 270. Inresponse, the program code can be further enabled to pass the content290A to the social bookmarking system 240 for comparison with the socialbookmarks 250. Portions 290B of the content 290A matching the socialbookmarks and associated metadata 250 can be returned to theauto-surfacing logic 280. Thereafter, the program code can be enabled tovisually emphasize the portions 290B in the display in the end userapplication 270. For example, the portions 290B can be proportionatelyenlarged or more deeply colored or toned in the display of the end userapplication 270 depending upon a frequency of tagging for acorresponding one of the social bookmarks 250.

Optionally, the program code of the auto-surfacing logic 280 can bedisposed in the host server 210A, as server-side auto-surfacing logic280ALT1. The server-side auto-surfacing logic 280ALT1 can establish ahook into each of the applications 270 in order to pull the content 290Aand to visually emphasize the portions 290B of the content 290A matchingthe social bookmarks and associated metadata 250. As another option, thevocabulary used in matching the content 290A with the social bookmarks250 can be restricted to limit words and phrases of less value and toavoid cluttering the display of the applications 270. As yet a furtheroption, a source identifier can be provided in the display of theapplications 270 for the visually emphasized portions 290B indicating asource of the matched ones of the social bookmarks and associatedmetadata 250. Finally, the visual emphasis of the portions 290B of thecontent 290 can be toggled on and off at the discretion of the end user.

In another aspect of the embodiment, the program code of theauto-surfacing logic 280ALT2 can be disposed in separately and apartfrom the applications 270 either hosted in a separate server 210B, or asa separate application executing in each of the clients 230 (end usercomputing devices). As before, the server-side auto-surfacing logic280ALT2 can establish a hook into each of the applications 270 in orderto pull the content 290A and to direct the visual emphasis of theportions 290B of the content 290A matching the social bookmarks andassociated metadata 250. The direction of the visual emphasis canincorporated as a markup language association between the portions 290Bof the content 290A and the matched ones of the social bookmarks andassociated metadata 250.

In even yet further illustration, FIG. 3 is a flow chart illustrating aprocess for automated surfacing of tagged content in a verticalapplication. Beginning in block 305, a screen display for an end userapplication can be retrieved and in decision block 310, it can bedetermined whether the screen display has been updated. If so, in block315 the display content in the screen display can be loaded and thecontent can be forwarded to a social bookmarking system in block 320. Inblock 335, within the social bookmarking system the content can bereceived and in block 340 the content can be parsed.

In block 345, text can be retrieved from the content. The text can be anindividual word or a series of words. In decision block 350, the textcan be compared to a set of social bookmarks and associated metadata todetermine whether or not the text matches a particular one of the socialbookmarks and associated metadata. If so, in block 355, the text can beadded to a set of results and, in decision block 360 it can bedetermined if additional text remains to be compared in the content, orif further comparisons to additional social bookmarks and associatedmetadata remain to be done If so, the process can continue through block345 with additional text. When no further text remains to be processedin the content, in block 365 the results can be returned.

In decision block 325, if it is determined that results have beenreceived from the social bookmarking system, in block 330, the text inthe results can be visually emphasized in the display. For instance, thecolor of the text can be bolder or deeper for text associated with ahigh frequency of tags for a corresponding social bookmark.Alternatively, the size of the text can be greater for text associatedwith a high frequency of tags for a corresponding social bookmark. Inany event, the process can return to block 305 with the selection of thescreen display and the process can repeat for a change in content in thedisplay.

Embodiments of the invention can take the form of an entirely hardwareembodiment, an entirely software embodiment or an embodiment containingboth hardware and software elements. In a preferred embodiment, theinvention is implemented in software, which includes but is not limitedto firmware, resident software, microcode, and the like. Furthermore,the invention can take the form of a computer program product accessiblefrom a computer-usable or computer-readable medium providing programcode for use by or in connection with a computer or any instructionexecution system.

For the purposes of this description, a computer-usable or computerreadable medium can be any apparatus that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The medium can be an electronic, magnetic, optical, electromagnetic,infrared, or semiconductor system (or apparatus or device) or apropagation medium. Examples of a computer-readable medium include asemiconductor or solid state memory, magnetic tape, a removable computerdiskette, a random access memory (RAM), a read-only memory (ROM), arigid magnetic disk and an optical disk. Current examples of opticaldisks include compact disk—read only memory (CD-ROM), compactdisk—read/write (CD-R/W) and DVD.

A data processing system suitable for storing and/or executing programcode will include at least one processor coupled directly or indirectlyto memory elements through a system bus. The memory elements can includelocal memory employed during actual execution of the program code, bulkstorage, and cache memories which provide temporary storage of at leastsome program code in order to reduce the number of times code must beretrieved from bulk storage during execution. Input/output or I/Odevices (including but not limited to keyboards, displays, pointingdevices, etc.) can be coupled to the system either directly or throughintervening I/O controllers. Network adapters may also be coupled to thesystem to enable the data processing system to become coupled to otherdata processing systems or remote printers or storage devices throughintervening private or public networks. Modems, cable modem and Ethernetcards are just a few of the currently available types of networkadapters.

1. A method for automatically surfacing tagged content adjunct to avertical application, the method comprising: receiving and parsing textfrom content in an end user application; comparing the parsed text tosocial bookmarks and associated metadata from a social bookmarkingsystem and matching portions of the content to respective ones of thesocial bookmarks and associated metadata based upon the comparison; and,directing a visual emphasis of the matched portions of the content inthe end user application, whereby the end user application is unmodifiedto perform the receiving, comparing and directing steps.
 2. The methodof claim 1, wherein comparing the parsed text to social bookmarks andassociated metadata from a social bookmarking system and matchingportions of the content to respective ones of the social bookmarks andassociated metadata based upon the comparison, further comprisesrestricting the parsed text to a limited vocabulary when comparing theparsed text to the social bookmarks and associated metadata.
 3. Themethod of claim 1, further comprising directing the toggling of thevisual emphasis of the matched portions of the content in the end userapplication.
 4. The method of claim 1, further comprising directing anappendage of a source indicator for the visually emphasized matchedportions of the content.
 5. A social bookmarking data processing systemcomprising: auto-surfacing logic coupled to but separate from an enduser application executing in an end user computing device and a socialbookmarking system executing in a host server and managing a pluralityof social bookmarks, the logic comprising program code enabled toreceive the content from the display, to parse the content into text,for comparing to the social bookmarks and associated metadata, and formatching portions of the content to respective ones of the socialbookmarks and associated metadata based upon the comparison, and todirect the end user application to visually emphasize the matchedportions of the content.
 6. The system of claim 5, wherein theauto-surfacing logic subclasses a display event in the end userapplication.
 7. The system of claim 5, wherein the auto-surfacing logicis a helper application coupled to the end user application.
 8. Thesystem of claim 5, wherein the auto-surfacing logic resides in the hostserver and has a hook into the end user application.
 9. The system ofclaim 5, wherein the auto-surfacing logic resides in the end usercomputing device.
 10. A computer program product comprising a computerusable medium embodying computer usable program code for automaticallysurfacing tagged content adjunct to a vertical application, the computerprogram product comprising: computer usable program code for receivingand parsing text from content in an end user application; computerusable program code for comparing the parsed text to social bookmarksand associated metadata from a social bookmarking system and matchingportions of the content to respective ones of the social bookmarks andassociated metadata based upon the comparison; and, computer usableprogram code for directing a visual emphasis of the matched portions ofthe content in the end user application, whereby the end userapplication is unmodified to perform the receiving, comparing anddirecting steps.
 11. The computer program product of claim 10, whereinthe computer usable program code for comparing the parsed text to socialbookmarks and associated metadata from a social bookmarking system andmatching portions of the content to respective ones of the socialbookmarks and associated metadata based upon the comparison, furthercomprises computer usable program code for restricting the parsed textto a limited vocabulary when comparing the parsed text to the socialbookmarks and associated metadata.
 12. The computer program product ofclaim 10, further comprising computer usable program code for directingthe toggling of the visual emphasis of the matched portions of thecontent in the end user application.
 13. The computer program product ofclaim 10, further comprising computer usable program code for directingan appendage of a source indicator for the visually emphasized matchedportions of the content.